跳到主要内容

PyCharm 框架

项目结构

这里主要介绍 PyCharm 的项目结构

内置变量

主函数代码

为了区分主执行文件还是被调用的文件,Python 引入了一个变量 __name__,当文件是被调用时,__name__ 的值为模块名,当文件被执行时,__name____main__

所以一般在主执行文件上使用 __name__ 判断是否位于主文件

def print_hi(name):
print(f'Hi, {name}')

# 所以这个就类似于 main 方法
if __name__ == '__main__':
print_hi('PyCharm')

一些模块内置变量

  • __name__ 表示命名空间
  • __package__ 表示包名称
  • __doc__ 表示模块注释,文档写在两行双引号中间
  • __file__ 表示模块路径

文件组织结构

项目名/
|-- bin/ 或 Scripts/
| |-- ...
|
|-- src/
| |-- tests/
| | |-- __init__.py
| | |-- test_main.py
| |
| |-- one/
| | |-- __init__.py
| | |-- one.py
| |
| |-- __init__.py
| |-- main.py
| |-- fun.py
| |-- setting.py
|
|-- docs/
| |-- abc.rst
| |-- conf.py
|
|-- setup.py
|-- requirements.txt
|-- README

setting.py 包含 setting 类,这个类只包含方法 __init__(),用来初始化一些东西。

requirements.txt:此文件列出项目所需的任何第三方依赖项。它让其他人知道为了处理项目需要哪些库。简单来说,它是一个 pip 安装要求列表。

setup.py:安装、部署、打包的脚本。在 setup.py 文件中写明依赖的库和版本,以便到目标机器上能够使用 python setup.py install 安装。

scripts/ 项目用到的各种脚本。

docs/ 项目文档,一般来说里面还包含 config.py

etc/ 用来存放配置文件的样例。

tools/ 用来存放与工具有关的shell脚本。

bin/ 用来存放将被setup.py安装的二进制脚本。

data/ 用来存放其他类型的文件,如媒体文件。

如果是发行自己的模块,顶层目录还需要下面三个文件: setup.cfg: 包含 setup.py 默认命令选项的 ini 文件。/ LICENSE.txt 项目许可说明文件。如果需要使用 setuptools 等工具进打包发行,那么需要一个许可文件。/ MANIFEST.in:装箱清单文件,当需要打包源码中不自动包含的附加文件时使用。

调用方法

主程序与模块程序在同一目录: main.py 中直接使用 import funfrom fun import *

主程序使用子目录下的模块 main.py 中直接使用 import tests.test_mainfrom tests.test_main import *

子模块使用上级 / 其它同级包中模块

import sys
sys.path.append("..")
import src.main
import one.one